Ради чего мы все поместили в таблицу значений ? Ради того, что бы одним заходом сгруппировать по полю ГруппыОС что нам и нужно было.
Процедура Сформировать() Результат = СоздатьОбъект("ТаблицаЗначений"); Результат.НоваяКолонка("ГруппыОС","Перечисление.ГруппыОС"); Результат.НоваяКолонка("начБаланс"); Т = СоздатьОбъект("Таблица"); БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства); БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"01.1"); БИ.ВыбратьСубконто(1,0,0,0,0,"Группа",0); Пока БИ.ПолучитьСубконто() = 1 Цикл Результат.НоваяСтрока(); Результат.ГруппыОС = БИ.Субконто().Группа; Результат.начБаланс=БИ.СНД(); КонецЦикла; Результат.Свернуть("1","2"); Т.ТолькоПросмотр(1); Т.Показать(); КонецПроцедуры
Как видите я указал, что группировать по первому полю а суммировать по второму. Круто. Смотрим описание.
Свернуть
Свернуть таблицу значений но соответствующим значениям
колонок.
Синтаксис:
Свернуть(<ГруппКолонки>,<СуммКолонки>)
Англоязычный синоним:
GroupBy
Параметры:
<ГруппКолонки> Группировочные колонки (номера или
идентификаторы колонок через запятую), по которым группировать
данные.
<СуммКолонки> Суммируемые колонки (номера или идентификаторы
колонок через запятую), по которым суммировать данные.
Описание:
Метод Свернуть позволяет свернуть таблицу значений по
соответствующим значениям колонок, т. е. заменяет на одну строку все дублирующие
(по значениям группировочных колонок) строки, суммируя значения но суммируемым
колонкам.